<!DOCTYPE html>
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>ch08-00</title>
    
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="thumbnailviewer.css" type="text/css" />

<script src="thumbnailviewer.js" type="text/javascript">

/***********************************************
* Image Thumbnail Viewer Script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

</script>


  </head>
  
  
<div class="os1">第8章 基于条目的控件</div>
<br />
本章基于条目的控件（Item-Based Widgets）是指列表控件 QListWidget、表格控件 QTableWidget 和树形控件 QTreeWidget，这些控件的特点是都用于显示由数据单元（或叫条目 item）组成的数据合集。
列表控件的每一行都对应一个数据单元，即 QListWidgetItem 对象。
表格控件根据行号和列号定位到单元格，单元格对应的就是 QTableWidgetItem 对象。
树形控件每个树形节点对应一个数据单元，对应 QTreeWidgetItem 对象。
本章三种基于条目的控件是相互独立的，各自都有自己的数据单元类，也就是对应不同的数据模型。
以后章节会学到模型和视图框架，会有更通用的、更抽象的视图类，就是本章三个控件各自的基类，到时候多种视图可以呈现同一个数据模型。

<br />
<br />
本章 8.1 节介绍最常用的列表控件 QListWidget 和它的数据条目 QListWidgetItem，列表控件的条目只有一列，可以有很多行。<br />
8.2 节介绍表格控件 QTableWidget 和它的单元格 QTableWidgetItem，表格控件一般有多行多列，可以设置表头。<br />
8.3 节介绍树形控件 QTreeWidget 和它的树形节点 QTreeWidgetItem，树形控件节点可以有多层、多个子节点，如果将子节点全部展开，那么一行就是一个数据条目。树形控件从行排布来看有点像列表控件，只是各行之间有父子、兄弟等关系，另外每个树形节点都可以有多个属性，这些属性呈现出来可以看到有多列属性信息，又有点像表格控件，比较复杂，因此作为第三个讲解。
<br />
8.4 节介绍基于条目控件的自定义特性，比如这些控件之间条目的拖拽，为控件设置右键菜单，以及利用样式表修改控件的外观等。





<br />
<br />
<br />

<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
	<tbody>
	<tr>
		<td style="width: 40%;"><div style="text-align: center;"><a href="ch07-05.htm"><img class="pic" style="width: 32px; height: 32px;" alt="prev" src="images/pics/prev.png" /></a></div></td>
		<td style="width: 20%;"><div style="text-align: center;"><a href="contents.htm"><img class="pic" style="width: 32px; height: 32px;" alt="contents" src="images/pics/contents.png" /></a></div></td>
		<td style="width: 40%;"><div style="text-align: center;"><a href="ch08-01.htm"><img class="pic" style="width: 32px; height: 32px;" alt="next" src="images/pics/next.png" /></a></div></td>
	</tr>
</tbody>
</table>
</html>
